package br.com.velp.sudecap.enumerator;

/**
 * <sumario>
 * <objetivo>"Rastreabilidade"</objetivo>
 * <autor>EDUARDO SANTOS DE OLIVEIRA</autor>
 * <versao>1.0.0.0</versao>
 * <data_criacao> 07.11.2012 </data_criacao>
 * <data_ultima_alteracao> 26.06.2013 </data_ultima_alteracao>
 * <requisito_afetado> RF003.02 - Cadastrar Empreendimentos </requisito_afetado>
 * <descricao> Enumerator Para as Temáticas do Empreendimento </descricao>
 * </sumario>
 */
public enum TematicaEmpreendimentoEnum implements EnumChaveValor {
    
    CULTURA("01", "CULTURA", "CUL"),
    EDUCACAO("02", "EDUCACAO", "EDU"),
    ESPORTE("03", "ESPORTE", "ESP"),
    INFRA_ESTRUTURA("04", "INFRAESTRUTURA", "INF"),
    PARQUE("05", "PARQUE", "PRQ"),
    SAUDE("06", "SAUDE", "SAU"),
    SOCIAL("07", "SOCIAL", "SOC"),
    MANUTENCAO("08", "MANUTENCAO", "MAN"),
    LAZER("09", "LAZER", "LAZ"),
    URBANIZACAO("10", "URBANIZACAO", "URB"),
    HABITACAO("11", "HABITACAO", "HAB"),
    MOBILIDADE("12", "MOBILIDADE", "MOB"),
    APOIO("13", "APOIO", "APO"),
    OUTROS("99", "OUTROS", "OUT");

    private String value;
    private String label;
    private String sigla;

    private TematicaEmpreendimentoEnum(String value, String label, String sigla) {
	this.value = value;
	this.label = label;
        this.sigla = sigla;
    }
    
    @Override
    public String getValue() {
	return this.value;
    }

    @Override
    public String getLabel() {
	return this.label;
    }

    public String getSigla() {
        return sigla;
    }
    
    public static String getLabel(String valor) {
	for (TematicaEmpreendimentoEnum tematica : values()) {
	    if (valor != null && tematica.getValue().equals(valor)) {
		return tematica.getLabel();
	    }
	}
	return null;
    }
    
    public static String getValor(String sigla){
        for (TematicaEmpreendimentoEnum tematica : values()){
            if (tematica.getSigla().equalsIgnoreCase(sigla)){
                return tematica.value;
            }
        }
        return null;
    }
    
}
